<ui:composition template="/WEB-INF/templates/layout.xhtml"
	xmlns="http://www.w3.org/1999/xhtml"
	xmlns:h="http://java.sun.com/jsf/html"
	xmlns:ui="http://java.sun.com/jsf/facelets"
	xmlns:o="http://omnifaces.org/ui"
>
	<ui:define name="contentTitle">Welcome to the OmniFaces Showcase application!</ui:define>

	<ui:define name="content">
		<p>
			Live examples of the <a href="http://code.google.com/p/omnifaces/">OmniFaces</a> components and utilities
            can be tried out here. Please check out the left side menu.
		</p>
		<ui:fragment rendered="#{_snapshot}">
			<p class="snapshot">
				This showcase shows the SNAPSHOT version of OmniFaces! For the showcase of the stable version of
				OmniFaces, please go to <a href="http://omnifaces.org">omnifaces.org</a>.
			</p>
		</ui:fragment>

		<h3>What is OmniFaces?</h3>
		<p>
			OmniFaces is a library for JSF 2 that focuses on utilities that ease everyday tasks. OmniFaces is a 
			response to frequently recurring problems encountered during ages of professional JSF development of the 
			<a href="http://jdevelopment.nl">JDevelopment</a> team and from questions being asked on 
			<a href="http://stackoverflow.com">Stack Overflow</a>.
		</p>
		<p>
			An important design goal will be to have as few dependencies as possible and to be minimally invasive. 
			So far, it only requires JSF 2.0, EL 2.1 and Servlet 2.5 APIs 
			(<a href="http://code.google.com/p/omnifaces/wiki/JavaEE5and6Compatibility">Java EE 6 details</a>) 
			which is already minimally available in a fairly modern container serving a JSF 2 web application. As such, 
			OmniFaces should principally integrate perfectly well with most other JSF libraries. Even more, this showcase 
			application uses 
			<o:importConstants type="org.primefaces.util.Constants" var="PrimeFaces" />
			<a href="http://primefaces.org">PrimeFaces #{PrimeFaces.VERSION}</a>
			which works perfectly fine together with OmniFaces.
		</p>
		<p>
			Contrary to some of the other excellent JSF 2 libraries out there (like 
			<a href="http://primefaces.org">PrimeFaces</a>, or <a href="jboss.org/richfaces">RichFaces</a>), OmniFaces 
			does not contain much if any of the beautiful visually oriented components that those other libraries are 
			already known and loved for. As such, OmniFaces does not and probably will never contain things like rich 
			table or datagrid components.  OmniFaces is more geared toward "utilities" that solve everyday practical 
			problems and workarounds for small shortcomings in the JSF API. Such utilities and workarounds can be based
			on components, but OmniFaces does not necessarily strive to be a "component library" perse.
		</p>
		<p>
			Besides utility and enhanced components, such as
			<h:link value="&lt;o:highlight&gt;" outcome="/showcase/components/highlight.xhtml" />
			and
			<h:link value="&lt;o:viewParam&gt;" outcome="/showcase/components/viewParam.xhtml" />, 
			and utility classes for working with the JSF API from Java code, such as 
			<h:link value="Faces" outcome="/showcase/utils/Faces.xhtml" />
			and
			<h:link value="Messages" outcome="/showcase/utils/Messages.xhtml" />, OmniFaces will include various general
			converters, validators and Facelets tag handlers. These will range from 
			<h:link value="'all-or-none' validators" outcome="/showcase/validators/validateAllOrNone.xhtml" /> 
			to 
			<h:link value="converters which automatically convert Java models" outcome="/showcase/converters/SelectItemsConverter.xhtml" />
			for usage in f:selectItem(s). There is also a 
			<h:link value="full ajax exception handler" outcome="/showcase/exceptionhandlers/FullAjaxExceptionHandler.xhtml" />
			which will automatically handle all ajax exceptions with the default <code>web.xml</code> error-page mechanisms.
		</p>
		<p>
			OmniFaces is a fully open source component library for JSF 2, and additionally this showcase application 
			itself is also fully open source. The showcase application project homepage is available at
			<a href="http://code.google.com/p/omnifaces-showcase/">code.google.com/p/omnifaces-showcase</a>.
			Full source code for all demos is available at 
			<a href="http://code.google.com/p/omnifaces-showcase/source/browse/">code.google.com/p/omnifaces-showcase/source/browse</a>.
		</p>

		<h3>Installation</h3>
		<p>
			It is a matter of dropping
			<a href="http://code.google.com/p/omnifaces/downloads/list">the JAR file</a> 
			in <code>/WEB-INF/lib</code>.
		</p>
		<ui:fragment rendered="#{not _snapshot}">
			<p>
				Maven users can add OmniFaces by adding the following Maven coordinates to <code>pom.xml</code>:
			</p>
			<blockquote><pre>
&lt;dependency&gt;
    &lt;groupId&gt;org.omnifaces&lt;/groupId&gt;
    &lt;artifactId&gt;omnifaces&lt;/artifactId&gt;
    &lt;version&gt;#{app.version}&lt;/version&gt;
&lt;/dependency&gt;
			</pre></blockquote>
		</ui:fragment>
		<p>
			The OmniFaces UI components/taghandlers and EL functions are available under the following XML namespaces:
		</p>
		<blockquote><pre>
xmlns:o="http://omnifaces.org/ui"
xmlns:of="http://omnifaces.org/functions"
		</pre></blockquote>
		
		<h3>Documentation</h3>
		<ul>
			<li><a href="#{_apiURL}index.html">OmniFaces #{app.version} API documentation</a></li>
			<li><a href="#{_vdlURL}index.html">OmniFaces #{app.version} VDL documentation</a></li>
		</ul>

		<h3>Support</h3>
		<p>
			If you have specific programming problems or questions related to the OmniFaces library, feel free to post
			a question on 
			<a href="http://stackoverflow.com">Stack Overflow</a> using at least the 
			<a href="http://stackoverflow.com/questions/tagged/jsf">[jsf]</a> and 
			<a href="http://stackoverflow.com/questions/tagged/omnifaces">[omnifaces]</a> tags.
		</p>
		<p>
			If you have found bugs or have new ideas, feel free to open a 
			<a href="http://code.google.com/p/omnifaces/issues/list">new issue</a>. Use 
			<a href="http://code.google.com/p/omnifaces/issues/entry?template=Defect%20report%20from%20user">"defect report" template</a>
			to report a (possible) bug and use 
			<a href="http://code.google.com/p/omnifaces/issues/entry?template=Feature%20request%20from%20user">"feature request" template</a>
			to request a new feature or enhancement.
		</p>
		<p>
			For general feedback that's not either a question, bug report or feature request, please feel free to leave it at 
			<a href="http://devrates.com/project/show/95941/Omnifaces">Devrates</a>.
		</p>
	</ui:define>
</ui:composition>